উদাহরণ সহ Servlet Lifecycle এর কাজের প্রক্রিয়া

Servlet আর্কিটেকচার - সার্ভলেটস (Servlets) - Java Technologies

356

Servlet Lifecycle নির্দেশ করে কীভাবে একটি Servlet তৈরি হয়, ক্লায়েন্টের অনুরোধ (Request) পরিচালনা করে এবং শেষ (Destroy) হয়। Servlet Lifecycle তিনটি প্রধান ধাপে বিভক্ত:

  1. Initialization (init):
    • Servlet প্রথমবার লোড হলে init() মেথড কল হয়।
  2. Request Handling (service):
    • প্রতিটি ক্লায়েন্ট রিকোয়েস্টে service() মেথড কল হয়, যা doGet(), doPost() ইত্যাদি মেথডে ডেলিগেট করে।
  3. Destruction (destroy):
    • Servlet আনলোড হওয়ার আগে destroy() মেথড কল হয়।

Servlet Lifecycle ধাপসমূহ

1. Servlet Initialization (init):

  • কাজ:
    • Servlet তৈরি হলে init() মেথড একবার কল হয়।
    • এটি সার্ভার বা কন্টেইনারের মাধ্যমে ইনস্ট্যান্স তৈরি এবং ইনিশিয়ালাইজেশন পরিচালনা করে।
  • উদাহরণ:

    @Override
    public void init() throws ServletException {
        System.out.println("Servlet Initialized.");
    }
    

2. Request Handling (service):

  • কাজ:
    • প্রতিটি HTTP রিকোয়েস্ট service() মেথডের মাধ্যমে পরিচালিত হয়।
    • service() মেথড doGet(), doPost() ইত্যাদি মেথডে ডেলিগেট করে।
  • উদাহরণ:

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html");
        resp.getWriter().println("<h1>Processing GET Request</h1>");
        System.out.println("GET Request Processed.");
    }
    
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html");
        resp.getWriter().println("<h1>Processing POST Request</h1>");
        System.out.println("POST Request Processed.");
    }
    

3. Servlet Destruction (destroy):

  • কাজ:
    • Servlet আনলোড হওয়ার আগে destroy() মেথড কল হয়।
    • রিসোর্স মুক্ত করার জন্য এটি ব্যবহৃত হয় (যেমন ডেটাবেস সংযোগ বন্ধ করা)।
  • উদাহরণ:

    @Override
    public void destroy() {
        System.out.println("Servlet Destroyed.");
    }
    

উদাহরণ: Servlet Lifecycle প্রদর্শন

ExampleServlet.java

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/lifecycle")
public class ExampleServlet extends HttpServlet {

    @Override
    public void init() throws ServletException {
        System.out.println("Servlet Initialized.");
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html");
        resp.getWriter().println("<h1>Welcome to Servlet Lifecycle Example</h1>");
        System.out.println("GET Request Processed.");
    }

    @Override
    public void destroy() {
        System.out.println("Servlet Destroyed.");
    }
}

Lifecycle Work Process (কাজের প্রক্রিয়া)

1. Servlet Initialization:

  • ব্রাউজারে /lifecycle রিকোয়েস্ট করলে Servlet প্রথমবার লোড হয়।
  • Console Output:

    Servlet Initialized.
    

2. Request Handling:

  • HTTP GET Request:
    • ব্রাউজার /lifecycle পেজ লোড করলে doGet() মেথড কল হয়।
    • Response: <h1>Welcome to Servlet Lifecycle Example</h1>
    • Console Output:

      GET Request Processed.
      

3. Servlet Destruction:

  • সার্ভার বন্ধ হলে বা Servlet আনলোড হলে destroy() কল হয়।
  • Console Output:

    Servlet Destroyed.
    

Servlet Lifecycle Sequence

  1. Servlet Class লোড হয়।
  2. Servlet Object তৈরি হয়।
  3. init() মেথড কল হয়।
  4. service() মেথড এক্সিকিউট হয় এবং রিকোয়েস্ট অনুযায়ী doGet(), doPost() মেথডে ডেলিগেট করে।
  5. Servlet আনলোড হলে destroy() মেথড কল হয়।

Lifecycle Diagram

          +----------------------+
          |   Servlet Loaded     |
          +----------------------+
                     ↓
          +----------------------+
          |      init()          |
          +----------------------+
                     ↓
          +----------------------+
          |      service()       |
          +----------------------+
                     ↓
    +------------------------------------+
    | doGet(), doPost(), doPut(), etc.   |
    +------------------------------------+
                     ↓
          +----------------------+
          |      destroy()       |
          +----------------------+

বাস্তবজীবনে Servlet Lifecycle এর ব্যবহার

  1. Initialization:
    • ডেটাবেস কানেকশন স্টার্ট করা।
    • কনফিগারেশন লোড করা।
  2. Request Handling:
    • ক্লায়েন্টের HTTP রিকোয়েস্ট প্রসেস করা এবং ডাইনামিক রেসপন্স তৈরি করা।
  3. Destruction:
    • ব্যবহার না করা রিসোর্স (যেমন ডেটাবেস কানেকশন) মুক্ত করা।

উপসংহার

Servlet Lifecycle তিনটি ধাপ (Initialization, Request Handling, এবং Destruction) এর মাধ্যমে কাজ করে। এটি ওয়েব অ্যাপ্লিকেশনের কার্যপ্রণালী এবং রিসোর্স ব্যবস্থাপনার একটি গুরুত্বপূর্ণ অংশ। Servlet Lifecycle বোঝা এবং যথাযথ ব্যবহার ওয়েব অ্যাপ্লিকেশন উন্নয়নে কার্যকর ভূমিকা রাখে।


Content added By
Promotion

Are you sure to start over?

Loading...